Integrated circuit devices traverse a broad range of electronic devices. One particular type include memory devices, oftentimes referred to simply as memory. Memory devices are typically provided as internal, semiconductor, integrated circuit devices in computers or other electronic devices. There are many different types of memory including random-access memory (RAM), read only memory (ROM), dynamic random access memory (DRAM), synchronous dynamic random access memory (SDRAM), and flash memory.
Flash memory has developed into a popular source of non-volatile memory for a wide range of electronic applications. Flash memory typically use a one-transistor memory cell that allows for high memory densities, high reliability, and low power consumption. Changes in threshold voltage (Vt) of the memory cells, through programming (which is often referred to as writing) of charge storage structures (e.g., floating gates or charge traps) or other physical phenomena (e.g., phase change or polarization), determine the data state (e.g., data value) of each memory cell. Common uses for flash memory and other non-volatile memory include personal computers, personal digital assistants (PDAs), digital cameras, digital media players, digital recorders, games, appliances, vehicles, wireless devices, mobile telephones, and removable memory modules, and the uses for non-volatile memory continue to expand.
A NAND flash memory is a common type of flash memory device, so called for the logical form in which the basic memory cell configuration is arranged. Typically, the array of memory cells for NAND flash memory is arranged such that the control gate of each memory cell of a row of the array is connected together to form an access line, such as a word line. Columns of the array include strings (often termed NAND strings) of memory cells connected together in series between a pair of select gates, e.g., a source select transistor and a drain select transistor. Each source select transistor may be connected to a source, while each drain select transistor may be connected to a data line, such as column bit line. Variations using more than one select gate between a string of memory cells and the source, and/or between the string of memory cells and the data line, are known.
In programming memory, memory cells may generally be programmed as what are often termed single-level cells (SLC) or multiple-level cells (MLC). SLC may use a single memory cell to represent one digit (e.g., bit) of data. For example, in SLC, a Vt of 2.5V might indicate a programmed memory cell (e.g., representing a logical 0) while a Vt of −0.5V might indicate an erased cell (e.g., representing a logical 1). An MLC uses more than two Vt ranges, where each Vt range indicates a different data state. Multiple-level cells can take advantage of the analog nature of a traditional charge storage cell by assigning a bit pattern to a specific Vt range. While MLC typically uses a memory cell to represent one data state of a binary number of data states (e.g., 4, 8, 16, . . . ), a memory cell operated as MLC may be used to represent a non-binary number of data states. For example, where the MLC uses three Vt ranges, two memory cells might be used to collectively represent one of eight data states.
In some cases, memory cells of a memory might be pre-programmed with data prior to connecting that memory to other circuitry. Connecting a memory to other circuitry may cause thermal stress to the memory. For example, where reflow soldering techniques are used to connect a memory to a circuit board, the circuit board and memory would generally be subjected to high levels of heat in order to melt, i.e., reflow, the solder joints to make the desired connections. Thermal stress may cause changes in the threshold voltages of the pre-programmed memory cells through charge loss, which may result in shifting and/or widening of the threshold voltage distributions of the memory cells representing the various data states. Similarly, extended use of a memory might also result in charge loss. For example, memory is increasingly being used in embedded applications expected to exhibit usage life significantly longer than a typical solid-state drive or mobile phone application, such as in the automotive industry where infotainment, instrument cluster, engine control and driver assistance systems are increasingly reliant on such memories. Where threshold voltage distributions shift and/or widen too much, a memory cell may indicate a data state other than its intended data state. At some point, this charge loss can cause read errors for an end-user, and may ultimately cause a memory to become, or be deemed, unusable.